Графики влияния различных показателей на цену квартиры¶
In [699]:
#Влияет ли количество комнат на цену? (сразу добавим hue=ремонт)
fig,ax = plt.subplots()
sns.scatterplot(data=df_msk, x='Цена', y='Количество комнат', hue='Ремонт', palette='Set1', alpha=0.7, s=50, ax=ax)
Out[699]:
<Axes: xlabel='Цена', ylabel='Количество комнат'>
In [700]:
#Влияние метро на цену (явно имеется)
figure = plt.subplots(figsize=(12,60))
sns.barplot(data=df_msk, x='Цена', y='Метро', orient='h', label='Area vs price', color='#3632a8')
plt.legend()
Out[700]:
<matplotlib.legend.Legend at 0x7fc156428da0>
In [701]:
#Влияние улицы на цену
df_add = df_msk.groupby('Адрес')['Цена'].mean().reset_index()
df_add
fig, ax = plt.subplots(figsize=(12, 70))
sns.barplot(data=df_add, x='Цена', y='Адрес', orient='h', ax=ax)
Out[701]:
<Axes: xlabel='Цена', ylabel='Адрес'>
In [702]:
#Влияние дома на цену
fig, ax = plt.subplots(figsize=(10, 10))
sns.barplot(data=df_msk, x='Цена', y='Тип дома', ax=ax)
Out[702]:
<Axes: xlabel='Цена', ylabel='Тип дома'>
In [703]:
df_msk.dtypes #чтобы проще было графики строить, ориентируясь на type
Out[703]:
index int64 ID объявления int64 Количество комнат int64 Метро object Адрес object Парковка object Ремонт object Балкон int64 Окна object Дополнительно object Высота потолков, м float64 Мусоропровод object Площадь общая, м2 float64 Лоджия int64 Санузел разд. int64 Санузел совм. int64 Тип дома object Этажи int64 Этаж квартиры int64 Лифт груз. int64 Лифт пасс. int64 Цена float64 dtype: object
In [704]:
#Влияние парковки на цену
df_msk['Парковка'].unique()
figure = plt.subplots()
sns.barplot(data=df_msk, x='Цена', y='Парковка', color='#7932a8')
Out[704]:
<Axes: xlabel='Цена', ylabel='Парковка'>
In [705]:
#Влияние балконов на цену
figure = plt.subplots(figsize=(18,6), dpi=150)
sns.scatterplot(data=df_msk, x='Цена', y='Балкон', hue='Окна', size='Лоджия', palette='Set2')
Out[705]:
<Axes: xlabel='Цена', ylabel='Балкон'>
In [706]:
#Влияние дополнительные удобств на цену
figure = plt.subplots()
sns.lineplot(data=df_msk, x='Дополнительно', y='Цена', color='#81d43d')
Out[706]:
<Axes: xlabel='Дополнительно', ylabel='Цена'>
In [707]:
#Влияние высоты потолков на цену
figure = plt.subplots(figsize=(12,12))
sns.scatterplot(data=df_msk, x='Высота потолков, м', y='Цена', label='Высота потолков')
plt.xticks(rotation=90)
plt.legend()
Out[707]:
<matplotlib.legend.Legend at 0x7fc14fb652b0>
In [708]:
#Влияние наличия мусоропровода на цену (более старые квартиры имеют мусоропровод - отсюда цена ниже)
figure = plt.subplots()
sns.barplot(data=df_msk, x='Цена', y='Мусоропровод', orient='h')
Out[708]:
<Axes: xlabel='Цена', ylabel='Мусоропровод'>
In [709]:
#Влияние площади общей, площади жилой и площади кухни
figure = plt.subplots(figsize=(12,6))
sns.scatterplot(data=df_msk, x='Площадь общая, м2', y='Цена', hue='Тип дома', palette='Set2')
Out[709]:
<Axes: xlabel='Площадь общая, м2', ylabel='Цена'>
In [710]:
#Зависимость цены от санузлов
figure = plt.subplots(figsize=(14,8))
sns.lineplot(data=df_msk, x='Санузел совм.', y='Цена', hue='Санузел разд.', palette='Set3', linewidth=4)
Out[710]:
<Axes: xlabel='Санузел совм.', ylabel='Цена'>
In [711]:
#Влияние лифтов на цену
f, (ax1, ax2) = plt.subplots(2, 1, figsize=(8, 8), sharex=True)
sns.barplot(x='Лифт пасс.',y='Цена', data=df_msk, label='Пассажирский', ax=ax1, color='green')
sns.barplot(x='Лифт груз.',y='Цена', data=df_msk, label='Грузовой', ax=ax2, color='grey')
ax2.set_xlabel('Лифты')
ax2.axhline(0, color="k", clip_on=False)
Out[711]:
<matplotlib.lines.Line2D at 0x7fc142f230b0>
In [712]:
#Влияние числовых признаков друг на друга через heatmap
num_cols = df_msk.select_dtypes(include=['number']).columns #только числовые из всех
figure = plt.subplots(figsize=(10,8))
sns.heatmap(df_msk[num_cols].corr(), annot=True, cmap='plasma', linewidth=0.5)
plt.title('Влияние числовых значений друг на друга')
Out[712]:
Text(0.5, 1.0, 'Влияние числовых значений друг на друга')